Building a Persistent Object Store using the Java Reflection API
نویسنده
چکیده
In this paper we describe a persistent object store designed and implemented to test and evaluate the merits and shortcomings of the Java Reflection API. Our goal is to design a persistent object store that supports transparent object persistence. Our premise was that we should be able to achieve this goal if the reflection API is designed with enough features and flexibility. It turns out that most of the needs for object persistence was nicely met by the current reflection API, but we also found that some could not be done with the current API. We describe in detail the merits and shortcomings seen from the viewpoint of an object persistence implementor.
منابع مشابه
Textual, Executable, Translatable UML
This paper advocates the application of language embedding for executable UML modeling. In particular, txtUML is presented, a Java API and library to build UML models using Java syntax, then run and debug them by reusing the Java runtime environment and existing debuggers. Models can be visualized using the Papyrus editor of the Eclipse Modeling Framework and compiled to implementation language...
متن کاملThe Design of a new Persistent Object Store for PJama
This paper presents the design of a new store layer for PJama. PJama is a platform that provides orthogonal persistence for Java1. Based on experience with a prototype, PJama0, a new architecture has been devised to permit incremental store management and to allow a number of object management regimes to co-exist in one store. It uses a plug-in model for composing a Java Virtual Machine (JVM) w...
متن کاملBytecode Instrumentation as an Aid in Understanding the Behavior of Java Persistent Stores
In this paper, we describe the use of BIT (Bytecode Instrumenting Tool) as an aid in understanding the behavior of persistent Java programs and evaluating the implementation of Java persistent stores. BIT is a set of Java classes that allow a user to build customized tools to instrument Java Virtual Machine (JVM) bytecodes. We built a customized tool using BIT to instrument Object Design Inc.’s...
متن کاملReflections on Remote Reflection
The Java programming language provides both reflection and remote method invocation: reflection allows a program to inspect itself and its runtime environment, remote method invocation allows methods to be invoked transparently across a network. Unfortunately, the standard Java implementations of reflection and remote method invoca-tion are incompatible: programmers cannot reflect on a remote a...
متن کاملReflection Support: Java Reflection Made Easy
Large software projects often require the ability to load and manage new code assets that were not originally available during system compilation. Moreover, testing tools need to inspect and run code components regardless of their structures. Reflection in Java supports these tasks by providing programmers with facilities to dynamically create objects, invoke methods, access fields, and perform...
متن کامل